410 '	print a string on con:
415 '	string in A$, CR%=1 no crlf cr%=2 crlf after
420 ' 1.7	#
425 IF STACKED%<>0 THEN RETURN
430 BREAK%=0
435 XKEY$=INKEY$
440 IF XKEY$=CHR$(&HB) OR XKEY$="K" OR XKEY$="k" THEN BREAK%=1
445 IF XKEY$=CHR$(19) OR XKEY$="S" OR XKEY$="s" THEN PAUSE%=1 ELSE PAUSE%=0
450 IF PAUSE%<>0 AND LEN(INKEY$)=0 THEN GOTO 450
455 ON CR% GOTO 460,465
460 PRINT A$; : RETURN
465 PRINT A$: RETURN
500 '
512 '	get a string into ANSWER$ (make upper case)
514 '	returns length in nkey%, string in ANSWER$
516 ' 1.10	#
518 IF STACKED%<>0 THEN

	ANSWER$=STACKED$:

	STACKED%=0:

	NKEY%=LEN(STACKED$):

	GOTO 552
520 ANSWER$=""
522 KEY$="*"
524 NKEY%=0
526 WHILE NKEY% <= MAX%
528 KEY$=INPUT$(1)
530 KEY%=ASC(KEY$)
532 IF KEY$="~" THEN GOTO 548
534 IF KEY%=18 THEN PRINT "#"+CRLF$+ANSWER$;: GOTO 548	'^R
536 IF KEY%=13 THEN GOTO 552	' RETURN
538 IF KEY%=24 THEN

	FOR INDEX%=NKEY% TO 1 STEP -1:

		PRINT BSTRING$;:

	NEXT INDEX%:

	GOTO 520	'^X
540 IF KEY%=21 THEN PRINT "#": GOTO 520	'^U
542 IF (KEEPLOWER%=0 AND KEY% >= 97 AND KEY%<= 122) THEN KEY%=KEY%-32
544 IF KEY%=127 OR KEY%=8 THEN GOSUB 564

	ELSE IF KEY% < &H20 AND CTRLOK%=0 THEN GOTO 548	'ignor other ctrl chars
546 IF DELCHAR%=0 THEN

		NKEY%=NKEY%+1:

		PRINT KEY$;:

		ANSWER$=ANSWER$+CHR$(KEY%)

		ELSE

		DELCHAR%=0
548 IF NKEY%<0 THEN NKEY%=0: PRINT "SYSERR(2) Leave Comment to SYSOP"
550 WEND
552 STACKED%=INSTR(ANSWER$,";")
554 IF STACKED%<>0 THEN

	STACKED$=MID$(ANSWER$,STACKED%+1):

	ANSWER$=LEFT$(ANSWER$,STACKED%-1)
556 KEEPLOWER%=0
557 CTRLOK%=0
558 IF ANSWER$<> " " THEN

	IF LEFT$(ANSWER$,1)=" "

		THEN ANSWER$=MID$(ANSWER$,2): GOTO 558
560 NKEY%=LEN(ANSWER$)
562 RETURN
564 DELCHAR%=1
566 IF NKEY%=0 THEN RETURN
568 NKEY%=NKEY%-1
570 IF KEY%<> &H7F THEN PRINT BSTRING$; ELSE PRINT RIGHT$(ANSWER$,1);
572 ANSWER$=LEFT$(ANSWER$,LEN(ANSWER$)-1)
574 RETURN
